                      Integer number Arithmetical commands
                               of DIO Interpreter

==================== Note =================================================

Abbreviations and conventions:

  * Integer numbers are 32 bit
  * <num> and <numX> : Integer numbers (X=1,2,3,...)
  * <N> : Size of operand (N=1,2,4,8)
  * [X] : Signed numbers (optional)

==================== Pointer ==============================================

Get number: {[X]*}{<adr>}{<idx>}{<N>}
  <adr> : Address of number
  <idx> : Array index

Set number: {*}{<adr>}{<idx>}{<N>}{=}{<num>}
  <adr> : Address of destination
  <idx> : Array index
  <num> : Number

==================== Base =================================================

Negation: {-}{<num>}

Addition: {<num1>}{+}{<num2>}

Subtraction: {<num1>}{-}{<num2>}

Multiplicaton: {<num1>}{[X]*}{<num2>}

Division: {<num1>}{[X]/}{<num2>}

Remainder: {<num1>}{[X]%}{<num2>}

==================== Shift ================================================

Shift left: {<num1>}{[X]<<}{<num2>}

Shift right: {<num1>}{[X]>>}{<num2>}

==================== Logical ==============================================

Bitwise NOT: {!}{<num>}

Bitwise AND: {<num1>}{&}{<num2>}

Bitwise OR: {<num1>}{|}{<num2>}

Bitwise XOR: {<num1>}{^}{<num2>}

==================== Relational ===========================================

Not null: {?:}{<num>}

Is null: {?0}{<num>}

Equal: {<num1>}{==}{<num2>}

Not equal: {<num1>}{!=}{<num2>}

Greater: {<num1>}{[X]>}{<num2>}

Greater or equal: {<num1>}{[X]>=}{<num2>}

Less: {<num1>}{[X]<}{<num2>}

Less or equal: {<num1>}{[X]<=}{<num2>}

===========================================================================
